因為人事系統是架設在Windows平台上,每天是用export來備份Oracle資料庫
已經習慣在Linux中使用grep的指令來搜尋字串,而在Windows系統中,可以用指令findstr來搜尋字串
下面是一個範例,使用errorlevel這個環境變數來判斷findstr沒有沒有找到指字的字串,如果成功,則會傳回0
findstr /m "Export.terminated" db_exp.log
if %errorlevel%==0 (
echo "success"
) else (
echo "faild"
)
上面的範例是我用來判斷Oracle DB在exp資料後產生的log文字檔,是否有成功。
因為空白會被分詞,例如「Export terminated」就會被拆成「Export」、「terminated」兩個字,
只要符合其中一個就可以,所以我加上萬用字符「.」,讓程式知道「Export」、「terminated」中間還有一個字。
/B 如果是在行的開端,則符合類型。
/E 如果是在行的尾端,則符合類型。
/L 逐字使用搜尋字串。
/R 使用搜尋字串為一般表示式。
/S 在現存目錄及所有的子目錄中
搜尋符合的檔案。
/I 指定搜尋不區分大小寫。
/X 列印完全符合的行數。
/V 只列印不含相符字串的行數。
/N 列印每一行符合的行數前的行編號。
/M 只列印包含相符字串的檔案的檔案名稱。
/O 列印每一個相符行之前的字元位移。
/P 跳過沒有可列印字元的檔案。
/OFF[LINE] 不要跳過有離線屬性設定的檔案。
/A:attr 以兩個十六進位數字指定色彩屬性。請參閱 "color /?"。
/F:file 從指定的檔案讀取檔案清單 (/ 代表主控台)。
/C:string 使用特定的字串作為逐字搜尋的字串。
/G:file 從指定的檔案取得搜尋字串 (/ 代表主控台)。
/D:dir 搜尋以分號隔開的目錄清單。
strings 要搜尋的文字。
[drive:][path]filename
指定要搜尋的一個或多個檔案。